<?php
error_reporting(E_ALL);
ini_set('display_errors','On');

include_once "FormatoDocumento.php";
include_once "Solicitud.php";
include_once "../datos/DocumentoSQL.php";

class Documento
{
    private $objFormato;
    private $objSolicitud;
    private $objFuncionario;
    private $objRepertorioPrivado;
    private $objRepertorioEscPublica;
    private $estado;
    private $fecha_creacion="0000-00-00 00:00:00";
    private $folio_doc;
    private $contenido;
    private $cod_formato;
    private $nro_solicitud;
    //private $cod_formato;
    //private $nro_solicitud;
    //private $rut;
    private $nombre_doc;
    private $rut;


    private $sql;
    private $datos;
    private $arrObjDoc;

    ///////////////////DECLARACION METODOS////////////////
    public function Documento(){$this->sql = new DocumentoSQL();}

    public function setFormato($ob){ $this->objFormato = $ob; }
    public function getFormato(){ return $this->objFormato; }

    public function setObjSolic($ob){ $this->objSolicitud = $ob; }
    public function getObjSolic(){ return $this->objSolicitud; }

    public function setObjFunc($ob){ $this->objFuncionario = $ob; }
    public function getObjFunc(){ return $this->objFuncionario; }

    public function setArregloObjetos($arreglo){ $this->arrObjDoc = $arreglo; }
    public function getArregloObjetos(){ return $this->arrObjDoc; }
    
    public function setContenido($cont){ $this->contenido = $cont; }
    public function getContenido(){ return $this->contenido; }

    public function getObjRepertorioPrivado() {
        return $this->objRepertorioPrivado;
    }
    public function setObjRepertorioPrivado($objRepertorioPrivado) {
        $this->objRepertorioPrivado = $objRepertorioPrivado;
    }
    public function getObjRepertorioEscPublica() {
        return $this->objRepertorioEscPublica;
    }

    public function setObjRepertorioEscPublica($objRepertorioEscPublica) {
        $this->objRepertorioEscPublica = $objRepertorioEscPublica;
    }

    
    
    public function getDatos() {
        return $this->datos;
    }
    
    
    
        public function buscarDocumentos()
	{
        //echo "<br>antes buscar datos";
        $datosResultado = $this->sql->buscarDatos($this);
        $count_datos = count($datosResultado);
        //echo "<br>count_datos: $count_datos";
        
        $arregloAuxObjeto = array();
		for($c=0;$c<$count_datos;$c++)
		{
			
                        //Guardamos los datos obtenidos en variables
                        $estado = $datosResultado[$c][0];
                        $fecha_creacion = $datosResultado[$c][1];
			$folio_doc = $datosResultado[$c][2];
			$cod_formato = $datosResultado[$c][3];
                        $nro_solicitud = $datosResultado[$c][4];
                        $rut = $datosResultado[$c][5];
                        $nombre_doc = $datosResultado[$c][6];      
                        $contenido = $datosResultado[$c][7];  


                        
			//Por cada ciclo se crean objetos formato con los respectivos datos
			$ForAux = new Documento();
                        $ForAux->setEstado($estado);
                        $ForAux->setFecha_creacion($fecha_creacion);
			$ForAux->setFolio_doc($folio_doc);
			$ForAux->setCod_formato($cod_formato);
                        $ForAux->setNro_solicitud($nro_solicitud);
                        $ForAux->setRut($rut);
                        $ForAux->setNombre_doc($nombre_doc);
                        $ForAux->setContenido($contenido);

                                
			//incorporo los objetos a un arreglo auxiliar
			$arregloAuxObjeto[$c] = $ForAux;
                        
                        unset($ForAux);
                        
		}
		//Seteamos el arreglo auxiliar al arreglo de objetos del formato
		$this->setArregloObjetos($arregloAuxObjeto);
	}
    public function buscarDocumentos1()
	{
        //echo "<br>antes buscar datos";        
        $datosResultado = $this->sql->buscarDatos1($this);
        $count_datos = count($datosResultado);
        //echo "<br>count_datos: $count_datos";
        
        $arregloAuxObjeto = array();
		for($c=0;$c<$count_datos;$c++)
		{
			//echo "<br>dentro array";
                        //Guardamos los datos obtenidos en variables
                        $estado = $datosResultado[$c][0];
                        $fecha_creacion = $datosResultado[$c][1];
			$folio_doc = $datosResultado[$c][2];
			$cod_formato = $datosResultado[$c][3];
                        $nro_solicitud = $datosResultado[$c][4];
                        $rut = $datosResultado[$c][5];
                        $nombre_doc = $datosResultado[$c][6];      
                        $contenido = $datosResultado[$c][7];  


                        
			//Por cada ciclo se crean objetos formato con los respectivos datos
			$ForAux = new Documento();
                        $ForAux->setEstado($estado);
                        $ForAux->setFecha_creacion($fecha_creacion);
			$ForAux->setFolio_doc($folio_doc);
			$ForAux->setCod_formato($cod_formato);
                        $ForAux->setNro_solicitud($nro_solicitud);
                        $ForAux->setRut($rut);
                        $ForAux->setNombre_doc($nombre_doc);
                        $ForAux->setContenido($contenido);

                                
			//incorporo los objetos a un arreglo auxiliar
			$arregloAuxObjeto[$c] = $ForAux;
                        
                        unset($ForAux);
                        
		}
		//Seteamos el arreglo auxiliar al arreglo de objetos del formato
		$this->setArregloObjetos($arregloAuxObjeto);
	}
    
    public function buscarDocumentosEstado($fecha_desde, $fecha_hasta)
	{
             
        $datosResultado = $this->sql->listarDatosEstado($fecha_desde, $fecha_hasta);
        $count_datos = count($datosResultado);
        //echo "<br>count_datos: $count_datos";
        
        $arregloAuxObjeto = array();
		for($c=0;$c<$count_datos;$c++)
		{
			//echo "<br>dentro array";
                        //Guardamos los datos obtenidos en variables
                        $estado = $datosResultado[$c][0];
                        $fecha_creacion = $datosResultado[$c][1];
			$folio_doc = $datosResultado[$c][2];
			$cod_formato = $datosResultado[$c][3];
                        $nro_solicitud = $datosResultado[$c][4];
                        $rut = $datosResultado[$c][5];
                        $nombre_doc = $datosResultado[$c][6];      
                        $contenido = $datosResultado[$c][7];  


                        
			//Por cada ciclo se crean objetos formato con los respectivos datos
			$ForAux = new Documento();
                        $ForAux->setEstado($estado);
                        $ForAux->setFecha_creacion($fecha_creacion);
			$ForAux->setFolio_doc($folio_doc);
			$ForAux->setCod_formato($cod_formato);
                        $ForAux->setNro_solicitud($nro_solicitud);
                        $ForAux->setRut($rut);
                        $ForAux->setNombre_doc($nombre_doc);
                        $ForAux->setContenido($contenido);

                                
			//incorporo los objetos a un arreglo auxiliar
			$arregloAuxObjeto[$c] = $ForAux;
                        
                        unset($ForAux);
                        
		}
		//Seteamos el arreglo auxiliar al arreglo de objetos del formato
		$this->setArregloObjetos($arregloAuxObjeto);
	}
        public function buscarDocumentosCategoria($fecha_desde, $fecha_hasta)
	{
             
            $datosResultado = $this->sql->listarDatosCategoria($fecha_desde, $fecha_hasta);
            return $datosResultado;
	}
        
        public function buscarDocumentosPorRut($rut, $folio)
	{
        //echo "<br>antes buscar datos";        
        $datosResultado = $this->sql->buscarDatosRut($rut, $folio);
        $count_datos = count($datosResultado);
        //echo "<br>count_datos: $count_datos";
        
        $arregloAuxObjeto = array();
		for($c=0;$c<$count_datos;$c++)
		{
			
                        //Guardamos los datos obtenidos en variables
                        $estado = $datosResultado[$c][0];
                        $fecha_creacion = $datosResultado[$c][1];
			$folio_doc = $datosResultado[$c][2];
			$cod_formato = $datosResultado[$c][3];
                        $nro_solicitud = $datosResultado[$c][4];
                        $rut = $datosResultado[$c][5];
                        $nombre_doc = $datosResultado[$c][6];      
                        $contenido = $datosResultado[$c][7];  


                        
			//Por cada ciclo se crean objetos formato con los respectivos datos
			$ForAux = new Documento();
                        $ForAux->setEstado($estado);
                        $ForAux->setFecha_creacion($fecha_creacion);
			$ForAux->setFolio_doc($folio_doc);
			$ForAux->setCod_formato($cod_formato);
                        $ForAux->setNro_solicitud($nro_solicitud);
                        $ForAux->setRut($rut);
                        $ForAux->setNombre_doc($nombre_doc);
                        $ForAux->setContenido($contenido);

                                
			//incorporo los objetos a un arreglo auxiliar
			$arregloAuxObjeto[$c] = $ForAux;
                        
                        $ForAux=new Categoria();
                        $ForAux->setNombre_categoria($estado);
                        
                        unset($ForAux);
                        
		}
		//Seteamos el arreglo auxiliar al arreglo de objetos del formato
		$this->setArregloObjetos($arregloAuxObjeto);
	}
       
    public function setDatos($datos) {
        $this->datos = $datos;
    }
    public function digitarDocumento() {
        $this->sql->digitarDocumento($this);
        }

    public function getEstado() {
        return $this->estado;
    }

    public function setEstado($estado) {
        $this->estado = $estado;
    }

    public function getFecha_creacion() {
        return $this->fecha_creacion;
    }

    public function setFecha_creacion($fecha_creacion) {
        $this->fecha_creacion = $fecha_creacion;
    }

    public function getFolio_doc() {
        return $this->folio_doc;
    }

    public function setFolio_doc($folio_doc) {
        $this->folio_doc = $folio_doc;
    }

    //public function getCod_formato(){ return $this->cod_formato; }
    //public function setCod_formato($cod_formato){ $this->cod_formato = $cod_formato; }

    public function getNro_solicitud(){ return $this->nro_solicitud; }
    public function setNro_solicitud($nro_solicitud){ $this->nro_solicitud = $nro_solicitud; }

    //public function getRut(){ return $this->rut; }
    //public function setRut($rut){ $this->rut = $rut; }

    public function getNombre_doc() {
        return $this->nombre_doc;
    }

    public function setNombre_doc($nombre_doc) {
        $this->nombre_doc = $nombre_doc;
    }
    
    public function getCod_formato() {
        return $this->cod_formato;
    }

    public function setCod_formato($cod_formato) {
        $this->cod_formato = $cod_formato;
    }

    public function getRut() {
        return $this->rut;
    }

    public function setRut($rut) {
        $this->rut = $rut;
    }
  public function listarDocumentos() {
    $datos = $this->sql->listarDatos();
    return $datos;
  }
 public function buscarDocRut() {
        $datos = $this->sql->buscarDatosRut($this);
        return $datos;
    }
    
 public function buscarDocumentosPrecio($fecha_desde, $fecha_hasta) {
        $datos = $this->sql->listarDocumentoPrecio($fecha_desde, $fecha_hasta);
        return $datos;
    }
    
}

?>